home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Franz PD / Franz PD Disk #230 (1993)(Rhein-Sieg-Soft).zip / Franz PD Disk #230 (1993)(Rhein-Sieg-Soft).adf / Funktionszeichner.doc < prev    next >
Text File  |  1993-04-08  |  15KB  |  407 lines

  1.  
  2.                    Anleitung zu :
  3.  
  4.                           FUNKTIONSZEICHNER
  5.                          -------------------
  6.                       1993 von Stephan Schilling
  7.  
  8.  
  9.                Inhalt :
  10.  
  11.  
  12.        0) Shareware-Hinweis
  13.  
  14.        1) Installation
  15.  
  16.        2) Allgemeiner Aufbau einer Funktion
  17. 
  18.        3) Definitionsbereich
  19.  
  20.        4) Zeichendichte
  21.  
  22.        5) Ableitungsfunktionen
  23.  
  24.        6) Das Koordinatensystem
  25.  
  26.        7) Der Hintergrundraster
  27.  
  28.        8) Maximaler Betrag des Funktionswertes 
  29.  
  30.        9) Beispiele verschiedener Funktionstypen
  31.  
  32.        
  33.  
  34.  
  35.  0) Shareware-Hinweis
  36. ----------------------
  37.  
  38. Dieses Programm ist Shareware!Es darf frei kopiert werden,solange diese Anleitung auf der selben Diskette wie das Programm bleibt und weder das Programm noch die Anleitung in keinster Weise verändert werden.Wem das Programm gefällt und es benutzen möchte sollte einen 
  39.  
  40.  Shareware-Betrag in Höhe von  5 DM  am mich entrichten!! Näheres  wird im Programm gesagt.
  41.  
  42.  
  43.    Meine Adresse :
  44.  
  45.      Stephan Schilling
  46.      Gartenstraße 3a
  47.      7500 Karlsruhe 1
  48.      Deutschland
  49.  
  50.  
  51.  
  52.  1) Installation
  53. -----------------
  54. Das Programm ist in Amigabasic geschrieben und braucht deshalb 
  55. Amigabasic um zu funktionieren.Mit einer PD-Diskette darf aber kein
  56. Amigabasic frei kopiert werden,da es urheberrechtlich geschützt ist.
  57. Da Ihr aber alle Amigabasic auf Eurer Extra-Disk habt,müßt ihr es
  58. nur noch auf diese Diskette kopieren,damit das Programm läuft.
  59. Der deutsche Tastaturtreiber ist nicht unbedingt nötig,da ihr wegen
  60. den + und - Zeichen auch zum Nummernblock langen könnt.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  2) Allgemeiner Aufbau einer Funktion
  68. --------------------------------------       
  69.  
  70. Jede normale Funktion ist nach dem selben Schema zusammengesetzt.
  71. Dieses Schema sieht folgendermaßen aus:
  72.  
  73.             p          q          r
  74.   f(x) = a*x   +(-) b*x   +(-) c*x  ...
  75.          |--|  |-------|  |-------|
  76.        1.Summ. 2.Summand  3.Summand 
  77.  
  78. Eine Funktion ist aus einzelnen Summanden zusammengesetzt.
  79. Ein Summand setzt sich zusammen aus x,das potenziert wird und einem Faktor der vor dem x steht.
  80. Selbst wenn eine Funktion nicht auf den ersten Blick so aussieht,
  81. unterliegt sie doch diesem Schema.
  82. So zum Beispiel folgende Funktion :
  83.  
  84.   f(x) = 3*x + 2
  85.  
  86. Diese Funktion ist eine einfache Gerade mit der Steigung 3 durch den Punkt (0|2).Der erste Summand ist hier 3*x.Der Faktor ist 3.
  87. Allerdings sieht der Summand eigentlich so aus :
  88.    
  89.       1
  90.    3*x 
  91.  
  92. Da es mühsam ist eine Funktion wegen der Hochzahlen in 2 Zeilen zu schreiben benutze ich ab jetzt das Hochzeichen des Computers um eine Potenz darzustellen :  ^ ! 
  93.  
  94.       1
  95.    3*x    entspricht dann also 3*x^1
  96.  
  97. Da x^1 natürlich x ist,läßt man den Exponent 1 weg.So auch bei der
  98. oberen Funktion.
  99.  
  100. Der zweite Summand der Funktion f(x)=3*x+2 ist die Zahl 2 ! Hier
  101. wird man sich fragen,wo hier das x steckt,da 2 in diesem Fall eine
  102. ganz normale Konstante ist.In der Tat aber steckt auch in der Zahl 2 ein x.Nämlich :
  103.  
  104.   2 = 2*x^0
  105.  
  106. Wenn man eine beliebige Zahl mit 0 potenziert erhält man immer die
  107. Zahl 1.Wenn man also als Funktionssummand eine Konstante will,muss man diese als Faktor vor x^0 stellen.Ihr werdet Euch vielleicht 
  108. fragen warum es so kompliziert sein muss,wenn es auch einfacher 
  109. geht ! Die Antwort : Es ginge schon einfacher (nämlich für Euch beim
  110. Eingeben der Summanden) aber programmtechnisch gesehen ist es so
  111. wesentlich einfacher.
  112.  
  113. Die Funktion f(x)=3*x+2 sieht also eigentlich so aus:
  114.  
  115.   f(x) = 3*x^1 + 2*x^0
  116.  
  117. Soweit,so gut.Eigentlich könntet ihr fast schon loslegen mit 
  118. Eingeben einer Funktion.Wenn da nicht die Brüche wären ...
  119. Nehmen wir einmal an,die obere Funktion hätte anstatt der Steigung 3
  120.                 2
  121. die Steigung   ---  !.Die Funktion sähe dann so aus :  
  122.                 3
  123.  
  124.            2
  125.    f(x) = --- * x + 2 
  126.            3 
  127.  
  128. Was dann ? Man könnte den Bruch natürlich als
  129.                      2
  130. Dezimalzahl angeben.--- wären dann ungefähr 0.66667.Mit ungefähren 
  131.                      3 
  132. Angaben ist uns aber nicht geholfen,da wir schließlich genau arbeiten wollen (Vielmehr für uns arbeiten lassen ...).
  133. Uns bleibt nur eine Möglichkeit!Wir müssen den Faktor mit 2 Zahlen 
  134. angeben.Dem Zähler und dem Nenner.
  135.                                      3
  136. Die Zahl 3 sieht eigentlich so aus: --- ! Der Zähler ist 3,der 
  137.                                      1
  138. Nenner 1.Das ist natürlich ein weiterer Umstand , ermöglicht allerdings ein exaktes Berechnen und Zeichnen von Funktionen.
  139. (Ihr könnt ja mal Versuchen 1/17 als Dezimalzahl zu schreiben :
  140. ca 0.0588235...)
  141. Jetzt bleibt nur noch eins zu klären hinsichtlich der Summanden.
  142. Bei der oberen Funktion sind beide Summanden positiv.Was aber,wenn
  143. einmal einer negativ ist ? Ganz einfach.Nachdem Ihr die Hochzahl und den Faktor(als Bruch) angegeben habt werdet Ihr noch gefragt ob der Summand (p)ositiv oder (n)egativ ist.Bei unserer Funktion oben wären
  144. beide Summanden positiv.Wenn die Funktion aber so aussehen würde :
  145.  
  146. a)         f(x) =   2/3 * x - 2
  147.  
  148. b)         f(x) = - 2/3 * x + 2
  149.  
  150. dann wäre bei a) der 2.Summand negativ,bei b) der erste !
  151.  
  152. Mit diesem Programm ist es möglich Funktionen mit bis zu 6 Summanden darzustellen.Das dürfte bei weitem reichen,gebräuchlich sind eigentlich nur Funktionen mit bis zu 4 oder 5 Summanden.
  153.  
  154. Wenn ihr eine Funktion eingeben wollt,behandelt der Computer jeden
  155. Summanden einzeln,da so das Ableiten der Funktionen wesentlich
  156. einfacher ist.
  157.  
  158. Ein Beispiel :
  159.  
  160.   f(x) = 2/3 * x - 2
  161.  
  162. Dies ist ein Beispiel für eine Gerade mit der Steigung 2/3 und
  163. dem Schnittpunkt mit der y-Achse (0|-2).
  164.  
  165. Zuerst behandelt der Computer den ersten Summanden.Der wäre in 
  166. diesem Fall
  167.    2/3 * x
  168.  
  169. Der Computer fragt nun nach der Potenz von x.In diesem Fall also 1.
  170. (x = x^1)
  171. Dann will der Computer den Faktor vor dem x wissen,aber mit zwei
  172. Zahlen angegeben,durch ein Komma getrennt,also Zähler,Nenner.
  173. In diesem Fall :
  174.   2,3     (wegen Zwei Drittel)
  175.  
  176. Nun müsst Ihr nur noch angeben,ob der Summand (p)ositiv oder 
  177. (n)egativ ist.Bei unserem Beispiel müsstet Ihr also `p` eintippen
  178. für (p)ositiv.
  179.  
  180. Beim Zweiten Summanden müsst Ihr als Potenz von x dann `0` angeben,
  181. da x^0 = 1 ergibt.Und 2*1 = 2!(Logisch,oder?)
  182. Dann müsst Ihr anschließend den Faktor als Bruchzahl angeben.
  183. Die Zahl 2 ist als Bruch natürlich 2/1 (Zwei `Eintel`).
  184. Deshalb gebt ihr als Faktor an :
  185. 2,1
  186. Jetzt müsst ihr nur noch angeben,ob der Summand (p)ositiv oder
  187. (n)egativ ist.In unserem Fall also :
  188. `n` (Der Zweite Summand ist -2)
  189.  
  190. Jetzt werdet Ihr noch nach dem Definitionsbereich (s.u.) gefragt,
  191. anschließend nach der Zeichendichte (s.u.),dann ob Ihr die 1.,2.,
  192. 3.,oder 4. Ableitungsfunktion (s.u.) wollt,welche Größe der
  193. Koordinatenraster (s.u.) haben soll,ob Ihr einen Hintergrundraster (s.u.) wollt und letzten Endes nach dem maximalen Betrag des Funktionswertes (s.u.)!
  194.  
  195. Kein Problem , oder ?
  196. Hört sich ziemlich komplitziert an,ist es aber gar nicht !!!!!
  197. Probiert es doch einfach mal aus!
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  3) Definitionsbereich :
  206. -------------------------
  207. Da der Computer ja nicht weiss,welche Werte er für x einsetzen soll,
  208. müsst Ihr ihm einen Definitionsbereich als Intervall angeben.
  209. Ein Beispiel wäre zum Beispiel eine einfache Parabel.Die 
  210. Normalparabel sieht folgendermaßen aus:
  211.  
  212.        f(x) = x^2
  213.  
  214. Für x=-1 oder x=1 hat sie den Wert 1.
  215. Für x=-2 oder x=2 hat sie den Wert 4.
  216. Für x=-3 oder x=3 hat sie den Wert 9.
  217.  
  218. Weiter hinten in der Anleitung wird das Koordinatensystem erklärt.
  219. Wenn ihr die Größe des Koordinatensystems ungefähr von -5 bis 5
  220. angebt,bringt es ja nichts,den Computer Werte außerhalb des Koordinatensystems ausrechnen und darstellen zu lassen,da sie außerhalb des Bildschirms liegen würden.Für die Normalparabel wäre 
  221. vielleicht ein Definitionsbereich von -3 bis 3 sinnvoll (Denkt auch an die Funktionswerte,die and der Stelle 3 und -3 ja schon 9 sind).
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  4) Zeichendichte
  230. ------------------
  231. Bleiben wir einmal beim Beispiel einer Normalparabel.Wenn der Computer hier Werte zwischen -3 und 3 errechnen soll,müsst Ihr ihm natürlich die Schritte angeben.Es bringt nichts,wenn ihr als Zeichendichte z.B 1 angebt,da dann nur 7 Punkte des Schaubilds zu sehen sind.Sinnvoll ist eine Zeichendichte von 0.01! Je kleiner Ihr
  232. den Wert wählt,um so feiner wird Eure Funktion gezeichnet,allerdings braucht der Computer natürlich länger um sie auszurechnen.
  233. Bei einer Zeichendichte von 0.01 und einem Definitionsbereich von 
  234. -3 bis 3 hätte der Computer 600 Werte zu errechnen (Geht noch relativ schnell).Bei einer Zeichendichte von 0.005 (Gibt schon ein sehr feines Schaubild) und dem gleichen Definitionsbereich hätte er schon 1200 Werte zu errechnen,was natürlich ziemlich lang dauert.
  235. Kleinere Werte als 0.004 würde ich aber nicht angeben,da sonst die
  236. Rechenzeit doch zu lang wird.
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  5) Ableitungsfunktionen
  246. -------------------------
  247. Wer nicht weiss,was eine Ableitungsfunktion ist,wird sie vermutlich
  248. auch nicht brauchen,deshalb will ich auch nicht näher darauf eingehen.Nur so viel:Die Ableitungsfunktion einer Funktion 3.Grades
  249. ist zum Beispiel eine Parabel.An den Nullstellen dieser Parabel kann man die x-Koordinaten des Hoch-/bzw. Tiefpunktes der Ursprungsfunktion ersehen.
  250.  
  251.   Wenn    f(x) = x^3 + 5*x^2 - 6   ist , so ist die Ableitung davon:
  252.  
  253.          f`(x) = 3*x^2 + 10*x
  254.  
  255. Die 2.Ableitung f`` ist die Ableitung der Ableitung f`(x) der Ursprungsfunktion f(x).Mit diesem Programm ist es möglich Funktionen mit bis zu 4 Ableitungsfunktionen darzustellen.Diese muss man aber
  256. nicht angeben,da sie der Computer selbst errechnet.Je höher deshalb die Ableitung ist,um so komplizierter wird für den Computer die
  257. Funktion und um so länger muss er also rechnen.Wer also die 4.Ableitung einer Funktion gezeichnet haben möchte wird sehen,daß
  258. der Computer sogar für eine einfache Gerade ziemlich lange braucht,
  259. erst recht natürlich wenn dann noch eine Zeichendichte von 0.005 eingestellt ist.
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  6) Das Koordinatensystem
  268. --------------------------
  269. Allgemeines:
  270. Das Koordinatensystem wird als Kreuz dargestellt mit einer x-Achse (horizontal) und einer y-Achse (vertikal).In der Mitte des Koordinatensystems,im Schnittpunkt der beiden Achsen befindet sich der Ursprung (0|0).Nach rechts ist der positive x-Bereich,nach links der negative x-Bereich.Nach oben ist der positive y-Bereich,nach unten der negative y-Bereich.  
  271. Zum Programm:
  272. Wenn Ihr z.B. eine Funktion 3.Grades habt (meistens Schlaufe) bringt es Euch nichts,wenn ihr nur einen Teil davon seht,nur weil ich die Größe des Koordinatensystems so ungeschickt gewählt habe,daß nicht alles von der Funktion auf den Bildschirm passt.Nun gut,ich könnte
  273. natürlich einen größeren Bereich des Koordinatensystems festlegen,zum Beispiel von -20 bis 20.Allerdings kämen dann die nächsten Beschwerden,wenn Ihr eine Funktion habt,die an einer Stelle
  274. einen schwachen Knick hat , der aber nahezu unkenntlich ist , dadurch daß das Schaubild total klein ist aufgrund der Größe des Koordinatensystems.Deshalb habe ich die Möglichkeit für Euch eingebaut,die Größe Eures Koordinatensystems selbst festzulegen.
  275. Der Wert,den Ihr für das Koordinatenraster eingeben müßt bezieht sich auf die Anzahl der Bildpunkte,die der Computer für 1 Einheit errechnet.
  276. In der hochauflösenden Graphik habt Ihr ca. 600 waagrechte Bildpunkte und ca 400 senkrechte Bildpunkte zur Verfügung.Ihr könnt ja ausprobieren,welcher Wert welcher Anzahl von Einheiten entspricht.Normal könnt ihr aber erstmal einen Wert von 20 bei Frage nach dem Koordinatenraster eingeben.
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  7) Der Hintergrundraster
  285. --------------------------
  286. Wenn Ihr die den Wert für den Koordinatenraster angegeben habt,werdet Ihr gefragt,ob Ihr einen Hintergrundraster haben wollt.
  287. Das hat folgenden Sinn:
  288. Wenn ihr eine Funktion hättet und z.B. an der Stelle x=3 den entsprechenden Funktionswert (y-Wert) ablesen wolltet,hättet Ihr
  289. Schwierigkeiten aufgrund der Verzerrung durch den Monitor einen exakten Wert abzulesen.Mit einem Hintergrundraster allerdings ist es
  290. relativ einfach,da an jeder ganzen Stelle x jeder ganze y-Wert eingezeichnet ist.
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  8) Maximaler Betrag des Funktionswertes
  300. -----------------------------------------
  301. Nehmen wir einmal an,es sollte eine Hyperbel als Funktion dargestellt werden (z.B. f(x) = x^-1 ).
  302. Je näher sich der x-Wert von links oder rechts dem Nullpunkt nähert,
  303. um so größer ist der Betrag des Funktionswertes,im Grenzfall hypotethisch sogar unendlich.Bei x=0.05 der Funktion
  304.  f(x) = x^-1   wäre der Funktionswert schon 20,bei 0.04 schon 25!
  305. Selbst wenn Ihr als Größe des Koordinatenrasters 10 angebt (minimaler Wert) könnt ihr maximal Funktionswerte bis |y| ca 20 !
  306. Werte darüberhinaus auszurechnen wäre natürlich Schwachsinn und würde nur den Rechenvorgang verlangsamen.Wenn ihr als Größe des
  307. Koordinatenrasters 10 angebt habt ihr ca 40 y-Einheiten also 20 positive und 20 negative.Deshalb solltet ihr den |y| (Betrag des Funktionswertes) maximal auf 20 setzen.
  308.  
  309.  
  310.  
  311.  
  312.              So! jetzt hab ich genug geschrieben.Ich wünsch Euch
  313.              noch viel Spass und gutes Gelingen mit diesem 
  314.              Programm.Vielleicht hör ich ja mal was von Euch,wenn
  315.              ihr mir den schwerverdienten Sharewarebetrag schickt...
  316.              Zu guter letzt hab ich noch ein paar Beispiele für
  317.              Euch ausgesucht,an denen Ihr Euch erstmal versuchen
  318.              könnt!!!
  319.                                          S.Schilling
  320.  
  321.       
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  9) Beispiele verschiedener Funktionstypen
  329. -------------------------------------------
  330.   
  331.  
  332. Beispiel einer Geraden :
  333. ------------------------
  334.  
  335.  f(x) = 2/3*x - 1
  336.  
  337. Die Gerade hat die Steigung 2/3 und schneidet die y-Achse im Punkt  
  338. (0|-1).Als Definitionsbereich würde ich das Intervall -4,4 wählen,
  339. eine Zeichendichte von 0.01 und einen Koordinatenraster von 30.
  340. Als maximalen Betrag von y würde ich ca 20 angeben. 
  341.  
  342.  
  343.  
  344. Beispiel einer Parabel :
  345. ------------------------
  346.  
  347.  f(x) = x^2 + 2
  348.  
  349. Dies ist die Funktion einer Parabel die ihren Scheitelpunkt bei (0|2) hat!.Wer will kann sich ja die erste Ableitung ansehen (Gerade).
  350. Def.: -3,3      Zeichendichte:0.006     Koordinatenraster:30
  351. Max |y| :10
  352.  
  353.  
  354.  
  355. Beispiel einer Funktion 3.Grades :
  356. ----------------------------------
  357.  
  358.  f(x) = 1/4*x^3 - 3/4*x^2 - 9/4*x + 5
  359.  
  360. Bei dieser Funktion ist es durchaus interessant die ersten 2 Ableitungen anzusehen (Parabel und Gerade).
  361. Def.: -3,5      Zeichendichte:0.01      Koordinatenraster:20
  362. Max |y| :15
  363.  
  364.  
  365.  
  366. Beispiel einer Funktion 4.Grades :
  367. ----------------------------------
  368.  
  369.  f(x) = 1/20*x^4 - 29/20*x2 + 5
  370.  
  371. Hier lohnen sich die ersten 3 Ableitungen (Fkt 3.Grades,Parabel und Gerade).
  372. Def.: -5.5,5.5      Zeichendichte:0.01      Koordinatenraster:25
  373. Max |y| :10
  374.  
  375.  
  376. Beispiel einer Hyperbel :
  377. -------------------------
  378.  
  379.  f(x) = x^-1
  380.  
  381. Def.: -4,4      Zeichendichte 0.005     Koordinatenraster:25
  382. Max |y| :10
  383.  
  384. Beispiel einer Wurzelfunktion :
  385. -------------------------------
  386.  
  387.  f(x) = x^0.5  (Wurzel aus x)
  388.  
  389. Def.: BEI WURZELFUNKTIONEN NUR POSITIVEN DEFINITIONSBEREICH,da sonst
  390. der Radikant negativ wäre,was ja nun mal nicht definiert ist.
  391. Also Def.:0,5   Zeichendichte 0.01      Koordinatenraster:40
  392. Max |y| :10
  393.  
  394.  
  395.  
  396. 
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.